Remove project_id config option and global flag#74
Merged
nathanjcochran merged 10 commits intomainfrom Oct 20, 2025
Merged
Conversation
murrayju
approved these changes
Oct 18, 2025
Member
murrayju
left a comment
There was a problem hiding this comment.
lgtm, definitely simpler and more flexible this way. Just a couple minor comments.
I didn't test anything.
cevian
approved these changes
Oct 18, 2025
Contributor
cevian
left a comment
There was a problem hiding this comment.
Looks great and a valuable cleanup. Only a few nits
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Slack thread for background.
This PR removes the
project_idconfig option and the--project-idglobal flag, since users cannot actually change their project id after logging in, given that the API key is scoped to a particular project. This has been confusing in the past, since the presence of the config option and flag imply that users should be able to change it post-login.Instead, the project id is now stored in the keyring (or file fallback) along with the api key. Specifically, the value stored in the keyring/file fallback is now a JSON object with
api_keyandproject_idfields. I think this will also give us more flexibility going forwards (e.g. if we want to support different authentication mechanicsms in a backwards-compatible way, we can store different fields in that JSON object, and handle them accordingly).Additionally, I updated
tiger auth statusto display the project ID, since it will no longer be visible in thetiger config showoutput. I think this will hopefully make it more clear that your login is scoped to a particular project, and prevent users from erroneously trying to change the project ID after login.Note that while this is a breaking change in terms of how the api key and project ID are stored/used, it also changes the name of the keyring entry and fallback file (to
credentials), meaning that users should simply appear to be logged out after updating to this version of the CLI (and will therefore have to log in again). That's perhaps not ideal, but it at least shouldn't leave them in a weird/broken state.